dxp-ux

(0 reviews)

GET customerBillHistory (TMF678 GET) - V1

This operation retrieves customer bill history from

  1. ARIA, CSG, EVERTEC for PR.
  2. LIBERATE, CERILLION for JM.
  3. LIBERATE for PA.
URL
http://[localhost]:[port]/dxp-ux/v1/{businessId}/customerBill
URL PARAMS
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
businessIdstring2 letter ISO 3166 country code Ex: PR, JM, PAY (PR, JM, PA)
namevaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
client_idstringThe client_id identifying the channel. Minimum characters: 5Y (PR, JM, PA)
client_secretstringPassword associated with the client_id. Minimum characters: 5Y (PR, JM, PA)
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction Minimum characters: 1
Note - Mule default behavior creates a sample x-correlation-id field if value is not passed from client, API will use this value in case value is not passed in API request
Y (It is mandatory for business for PR, JM, PA)
lobstringThe Line of Business Identifier currently available are: FIXED, POSTPAIDY (PR, JM, PA)
channelIdstringThis is to identify the source (Project). Value: APPY (PR, JM) , N/A(PA)
targetSystemstringTarget system identifier Allowed Values : EVERTECY(PR - evertec), N/A(PA, JM)
Query Param
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
accountIdstringThis is billing account number which is unique for the customerY (PR, JM, PA)
startDatestringThis is startDate for bills retrieval time period. Expected format : yyyy-MM-dd, Eg: 2021-09-16
Note for PR: For Aria backend system we should have pass startDate as Mandatory, Start Date of Bill Period. Not applicable for 12 months bill (from Evertec+csg), when pdfId=true startDate is not applicable for FIXED Line (CSG)
N (PR, JM, PA)
endDatestringThis is endDate for bills retrieval time period. Expected format : yyyy-MM-dd, Eg: 2021-09-16
Note for PR: For Aria backend system we should have pass endDate as Mandatory, End Date of Bill Period. Not applicable for 12 months bill (from Evertec+csg), when pdfId=true endDate is not applicable for FIXED Line (CSG)
N (PR, JM, PA)
pdfIdbooleanFlag to indicate that request is to retrieve the 12 months bill(3 months from csg and 9 months from evertec) and PDF Id will be available in billDocument.id, if value is true. If value is false, retrieve 3 months bill from csg.N (PR) N/A (JM, PA)
billingAccount.idstringcustomer account id, without any "-"Y (PR - evertec) , N/A (JM , PA)
relatedParty.idstringdescribes the billing provider as a related party playing the role of organization example 002 for AT&T and 001 for LibertyY (PR - evertec) , N/A (JM, PA)
Data Model - Response:
nametypedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)
idstringUnique identifier of the bill invoiceN (PR), Y (JM) , N (PA)
hrefstringBill unique referenceN/A(PR), N (JM), N/A (PA)
billDatedatetime | stringThe date the invoice was billed.
Note for PR: This field type is string and example for PR evertec usecase: "2024-01-10"
Note for PA: This field type is string
Note for JM: This field type is datetime
N(PR),N (JM) , Y(PA)
billNostringBill reference known by the customer or the party and displayed on the bill. Could be different from the idN(PR), N (JM), Y(PA)
categorystringCategory of the bill or invoice produced : normal, duplicate, interim, last, trial customer or credit note for exampleN(PR),N (JM), N/A(PA)
lastUpdatedatetime | stringDate of bill last update
Note for PR: This field type is string and this is the recurring bill-from date.
Note for JM: This field type is datetime
N(PR),N (JM), N/A(PA)
nextBillDatedatetime | stringApproximate date of the next bill production given for information (only used for onCycle bill)
Note for PR: This field is string and this the recurring bill-through date.
Note for JM: This field type is datetime
N(PR),N (JM), N/A(PA)
paymentDueDatedatetime | stringDate at which the amount due should have been paid.
Note for PR: This field type is string and in case DueDateMessage from csg is "ON RECPT"/ "UPON RECPT" indicates immediate payment, current date is mapped to DueDate
Note for PA: This field type is string
Note for JM: This field type is datetime
N(PR), N (JM), Y(PA)
runTypestringonCycle (a bill can be created as a result of a cycle run) or offCycle (a bill can be created as a result of other events such as customer request or account close)N/A(PR), N (JM), N/A (PA)
amountDueobjectA moneyN(PR),N (JM), Y(PA)
amountDue.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N(PR),N (JM), Y(PA)
amountDue.valuenumber | stringTotal amount of the statement.
Note for PR: This field type is string
Note for PA and JM: This field type is number
N(PR),N (JM), Y(PA)
accountBalancearrayBalances linked to the accountN/A(PR), N (JM), N/A (PA)
accountBalance.amountobjectBalance amountN/A(PR), N (JM), N/A (PA)
accountBalance.balanceTypestringType of the balance - Previous Balance, deposit balance, disputed balance, loyalty balance, receivable balance.Default value is "BeginningBalance"N/A(PR), N (JM), N/A (PA)
accountBalance.amount.valuenumberA floating point numberN/A(PR), N (JM), N/A (PA)
accountBalance.amount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N/A(PR), N (JM), N/A (PA)
accountBalance.validForobjectThe period of time for which the attachment is valid. Not in scopeN/A(PR), N (JM), N/A (PA)
accountBalance.validFor.endDateTimedatetimeEnd of the time period, using IETC-RFC-3339 formatN/A(PR), N (JM), N/A (PA)
accountBalance.validFor.startDateTimedatetimeStart of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an endN/A(PR), N (JM), N/A (PA)
appliedPaymentarray of objectA list of applied payments.
For JM: The applied payment is the result of lettering process. It enables to assign automatically or manually part of incoming payment amount to a bill.
N(PR), N (JM), Y(PA)
appliedPayment.appliedAmountobjectA moneyN(PR), N (JM), Y(PA)
appliedPayment.appliedAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N(PR), N (JM), Y(PA)
appliedPayment.appliedAmount.valuenumberThe monetary amount of any new payments applied in this statementN(PR), N (JM), Y(PA)
appliedPayment.paymentobjectA EntityRef is a detailed description of a bill structure.N/A(PR), N (JM), Y(PA)
appliedPayment.payment.idstringUnique identifier for the EntityRefN/A(PR), N (JM), Y(PA)
appliedPayment.payment.hrefstringReference of the EntityRefN/A(PR), N (JM), N/A (PA)
appliedPayment.payment.namestringName of the EntityRefN/A(PR), N (JM), N/A (PA)
appliedPayment.payment.paymentDatestringDate of the paymentN/A(PR), N/A(JM), Y(PA)
appliedPayment.payment.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
appliedPayment.payment.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
appliedPayment.payment.@typestringWhen sub-classing, this defines the sub-class entity nameN/A(PR), N (JM), N/A (PA)
appliedPayment.payment.@referredTypestringThe actual type of the target instance when needed for disambiguation.N/A(PR), N (JM), Y(PA)
appliedPayment.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
appliedPayment.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
appliedPayment.@typestringWhen sub-classing, this defines the sub-class entity nameN/A(PR), N (JM), N/A (PA)
billDocumentarrayAn attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself. Not in scope for list customerBillN (PR), N (JM), N/A (PA)
billDocument.idstringUnique identifier for this particular attachment
Note for PR evertec usecase: Expected values are 1 is for Liberty or 2 is for AT&T
N (PR), N (JM), N/A (PA)
billDocument.hrefstringURI for this AttachmentN/A(PR), N (JM), N/A (PA)
billDocument.attachmentTypestringAttachment type such as video, pictureN/A(PR), N (JM), N/A (PA)
billDocument.contentstringThe actual contents of the attachment object, if embedded, encoded as base64N/A(PR), N (JM), N/A (PA)
billDocument.descriptionstringA narrative text describing the content of the attachmentN/A(PR), N (JM), N/A (PA)
billDocument.mimeTypestringAttachment mime type such as extension file for video, picture and documentN/A(PR), N (JM), N/A (PA)
billDocument.namestringThe name of the attachmentN/A(PR), N (JM), N/A (PA)
billDocument.@typestringWhen sub-classing, this defines the sub-class entity nameN/A(PR), N (JM), N/A (PA)
billDocument.contentstringThe actual contents of the attachment object, if embedded, encoded as base64N/A(PR), N (JM), N/A (PA)
billDocument.urlstringUniform Resource Locator, is a web page address (a subset of URI)N/A(PR), N (JM), N/A (PA)
billDocument.sizeObjectAn amount in a given unitN/A(PR), N (JM), N/A (PA)
billDocument.size.amountnumberThe size of the attachment.N/A(PR), N (JM), N/A (PA)
billDocument.size.unitsstringUnit of the attachment. Eg: "bytes"N/A(PR), N (JM), N/A (PA)
billDocument.validForobjectThe period of time for which the attachment is validN/A(PR), N (JM), N/A (PA)
billDocument.validFor.endDateTimedatetimeEnd of the time period, using IETC-RFC-3339 formatN/A(PR), N (JM), N/A (PA)
billDocument.validFor.startDateTimedatetimeStart of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an endN/A(PR), N (JM), N/A (PA)
billingAccountobjectBillingAccount referenceN(PR), N (JM), Y(PA)
billingAccount.idstringUnique identifier for the accountN(PR), N (JM), Y(PA)
billingAccount.hrefstringReference of the EntityRefN/A(PR), N (JM), N/A (PA)
billingAccount.namestringName of the EntityReN/A(PR), N (JM), N/A (PA)
billingAccount.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
billingAccount.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
billingAccount.@typestringWhen sub-classing, this defines the sub-class entity nameN(PR), N (JM), N/A (PA)
billingAccount.@referredTypestringThe actual type of the target instance when needed for disambiguation.N/A(PR), N (JM), Y(PA)
billingPeriodobjectA time period.N(PR),N (JM), N/A (PA)
billingPeriod.endDateTimedatetimeThe usage bill-through date of the invoice or end of the time period, using IETC-RFC-3339 formatN(PR), N (JM), N/A (PA)
billingPeriod.startDateTimedatetimeThe usage bill from date or start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an endN(PR), N (JM), N/A (PA)
financialAccountobjectAccountReceivable reference. An account of money owed by a party to another entity in exchange for goods or services that have been delivered or used. An account receivable aggregates the amounts of one or more party accounts (billing or settlement) owned by a given party.N/A(PR), N (JM), N(PA)
financialAccount.idstringUnique identifier for the accountN/A(PR), N (JM), N(PA)
financialAccount.hrefstringReference of the accountN/A(PR), N (JM), N/A (PA)
financialAccount.namestringName of the accountN/A(PR), N (JM), N/A (PA)
financialAccount.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
financialAccount.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
financialAccount.@typestringWhen sub-classing, this defines the sub-class entity nameN/A(PR), N (JM), N/A (PA)
financialAccount.@referredTypestringThe actual type of the target instance when needed for disambiguation.N/A(PR), N (JM), N(PA)
financialAccount.accountBalancearrayBalances linked to the accountN/A(PR), N (JM), N(PA)
financialAccount.accountBalance.balanceTypestringType of the balance ; deposit balance, disputed balance, loyalty balance, receivable balanceN/A(PR), N (JM), N(PA)
financialAccount.accountBalance.amountobjectA base / value business entity used to represent moneyN/A(PR), N (JM), N(PA)
financialAccount.accountBalance.amount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N/A(PR), N (JM), N(PA)
financialAccount.accountBalance.amount.valuenumberA positive floating point numberN/A(PR), N (JM), N(PA)
financialAccount.accountBalance.validForObjectA period of timeN/A(PR), N (JM), N/A (PA)
financialAccount.accountBalance.validFor.endDateTimedatetimeEnd of the time period, using IETC-RFC-3339 formatN/A(PR), N (JM), N/A (PA)
financialAccount.accountBalance.validFor.startDateTimedatetimeStart of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an endN/A(PR), N (JM), N/A (PA)
financialAccount.accountBalance.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
financialAccount.accountBalance.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
financialAccount.accountBalance.@typestringWhen sub-classing, this defines the sub-class entity nameN/A(PR), N (JM), N/A (PA)
paymentMethodobjectPaymentMethod reference. A payment method defines a specific mean of paymentN/A(PR), N (JM), N/A (PA)
paymentMethod.idstringUnique identifier for the EntityRefN/A(PR), N (JM), N/A (PA)
paymentMethod.hrefstringReference of the EntityRefN/A(PR), N (JM), N/A (PA)
paymentMethod.namestringName of the EntityRefN/A(PR), N (JM), N/A (PA)
paymentMethod.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
paymentMethod.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
paymentMethod.@typestringWhen sub-classing, this defines the sub-class entity nameN/A(PR), N (JM), N/A (PA)
paymentMethod.@referredTypestringThe actual type of the target instance when needed for disambiguation.N/A(PR), N (JM), N/A (PA)
relatedPartyarrayRelated Entity reference. A related party defines party or party role linked to a specific entityN(PR), N (JM), N/A (PA)
relatedParty.idstringUnique identifier for the related entity.N(PR), N (JM), N/A (PA)
relatedParty.hrefstringReference of the related entity.N/A(PR), N (JM), N/A (PA)
relatedParty.namestringName of the related entity.N/A(PR), N (JM), N/A (PA)
relatedParty.rolestringRole played by the related partyN/A(PR), N (JM), N/A (PA)
relatedParty.@baseTypestringWhen sub-classing, this defines the super-classN/A(PR), N (JM), N/A (PA)
relatedParty.@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
relatedParty.@typestringWhen sub-classing, this defines the sub-class entity nameN(PR), N (JM), N/A (PA)
relatedParty.@referredTypestringThe actual type of the target instance when needed for disambiguation.N/A(PR), N (JM), N/A (PA)
remainingAmountObjectA moneyN(PR), N (JM), N(PA)
remainingAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N(PR), N (JM), N(PA)
remainingAmount.valuenumber | stringA positive floating point number
Note for PR: This field type is string and the monetary amount to apply as balance forward.
Note for PA and JM: This field type is number
N(PR), N (JM), N(PA)
statestringstatus of the invoice enum: - new - onHold - validated - sent - partiallyPaid - settled - due - paidFor
Note for PR: Possible values will be "onHold, new, settled"
N(PR),Y (JM), N/A (PA)
taxExcludedAmountobjectA base / value business entity used to represent moneyN/A (PR), N (JM), N(PA)
taxExcludedAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N/A (PR), N (JM), N(PA)
taxExcludedAmount.valuenumberA positive floating point number.N/A (PR), N (JM), Y(PA)
taxIncludedAmountobjectA moneyN(PR), N (JM), N(PA)
taxIncludedAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N(PR), N (JM), N(PA)
taxIncludedAmount.valuenumber | stringA positive floating point number
Note for PR: This field type is string and this is the monetary amount of new charges detailed in the statement.
Note for PA and JM: This field type is number
N(PR), N (JM), N(PA)
taxItemarrayA tax item is created for each tax rate and tax type used in the bill.N/A(PR), N (JM), N(PA)
taxItem.taxCategorystringtax CategoryN/A(PR), N (JM), N(PA)
taxItem.taxRatenumberApplied rate of the taxN/A(PR), N (JM), N/A (PA)
taxItem.taxAmountObjectAmount of tax expressed in the given currencyN/A(PR), N (JM), N(PA)
taxItem.taxAmount.unitstringCurrency (ISO4217 norm uses 3 letters to define the currency)N/A(PR), N (JM), N(PA)
taxItem.taxAmount.valuenumberA positive floating point numberN/A(PR), N (JM), N(PA)
extendedCharacteristic[]arrayextended characteristics of customerBillN/A(PR), N/A(JM), N(PA)
extendedCharacteristic[].namestringName of the extendedCharcteristic RefN/A(PR), N/A(JM), N(PA)
extendedCharacteristic[].valueanyValue of the extendedCharcteristic RefN/A(PR), N/A(JM) N(PA)
@baseTypestringWhen sub-classing, this defines the super-classN(PR), N (JM), N(PA)
@schemaLocationstringA URI to a JSON-Schema file that defines additional attributes and relationshipsN/A(PR), N (JM), N/A (PA)
@typestringWhen sub-classing, this defines the sub-class entity nameN(PR), N (JM), N(PA)
appliedPayment subResource dataModel:
fieldvaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)example
appliedAmountobjectA base / value business entity used to represent moneyY(PA)PA:
{
"appliedAmount": {
"unit": "PAB",
"value": 0
}
}
paymentobjectIf an immediate payment has been done at the product order submission, the payment information are captured and stored (as a reference) in the order.Y(PA)PA:
{
"payment": {
"id": "0",
"paymentDate": "2021-03-01T21:00:06.000-5:00",
"@referredType": "payment"
}
}
financialAccount.accountBalance subResource -Data Model
balanceTypevaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)example
balanceBroughtForwardstringThe amount from the previous billing cycle that was not paid by the customer and is carried over to the current billing cycleN(PA)PA:
{
"balanceType": "balanceBroughtForward",
"amount": {
"unit": "PAB",
"value": 66.7
}
}
balanceCarriedForwardstringThe total outstanding balance that will be moved forward to the next billing cycle.N(PA)PA:
{
"balanceType": "balanceCarriedForward",
"amount": {
"unit": "PAB",
"value": 66.7
}
}
totalBillableAmountstringThe total amount that the customer is liable to pay for the current billing periodN(PA)PA: {
"balanceType": "totalBillableAmount",
"amount": {
"unit": "PAB",
"value": 0
}
}
totalOutstandingBalancestringThe cumulative amount that remains unpaid by the customer up to the current dateN(PA)PA: {
"balanceType": "totalOutstandingBalance",
"amount": { "unit": "PAB",
"value": 0
}
}
taxItem subResource -Data Model
taxCategoryvaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)example
queryTaxAmountstringTax included on queried amountN(PA)PA:
{
"taxCategory": "queryTaxAmount",
"taxAmount": {
"unit": "PAB",
"value": 0
}
}
extendedCharacteristic subResource -Data Model
namevaluedescriptionrequired (mandatory-Y, optional-N, Not applicable- N/A)example
queryAmountstringAmount that queriedN(PA)PA:
{
"name": "queryAmount",
"value": 0
}
adjustAmountstringReflects the amount that has been manually adjusted on the bill due to corrections, discounts, promotional credits, or dispute resolutions applied by the service provider.N (PA)PA:
{
"name": "adjustAmount",
"value": 0
}
billDisputedstringIndicates whether the customer has raised a dispute regarding the bill (e.g., incorrect charges, overbilling, or service-related complaints). A value of true flags the bill as disputed.N(PA)PA:
{
"name": "billDisputed",
"value": false
}
checkAlertCodestringRefers to a system or module responsible for managing alerts or warnings related to the customer account.N(PA)PA:
{
"name": "checkAlertCode",
"value": "0"
}
Key Considerations :
PA Implementation
1. This implementation retrieves the customer bill history from Liberate for FIXED and POSTPAID accounts.
2. To retrieve customer bill history for a specific duration, startDate and endDate queryParameters must be passed.
3. If the dates are not specified in queryParams, the API returns customer bills for last one year by default.
4. In the response, appliedPayment[].payment.id field will be displayed as "0" by default, as paymentId is not returned from Liberate.
5. For all the dateTime fields
   - Any datetime before 1908-04-22 will show offset -05:18
   - Any datetime on or after 1908-04-22 will show offset -05:00
PR Implementation
1. billingAccount.id and relatedParty.id queryParams are only applicable when bills need to be retrieved from evertec.
2. startDate, endDate and pdfId queryParams are not applicable when bills need to be retrieved from evertec.
3. To fetch CustomerBill from Csg customers, need to pass lob as "FIXED"
4. To fetch CustomerBill from Aria Customers, need to lob as "POSTPAID"
5. Retrieve bill history from evertec usecase:
   - Allowed values for targetSystem header are "EVERTEC"
   - Allowed values for lob header are "POSTPAID"
   - Allowed values for channelId header are "APP"
Possible Error Scenarios (PA):
IF WE ARE PASSING INVALID (accountId) NUMBER IN QUERYPARAMS
{
    "errors": [
        {
            "code": 404,
            "message": "Liberate : Customer bill history not found for account no: 860019440001",
            "description": "NOACCTSFOUND-No Accounts Found."
        }
    ]
}
IF WE ARE PASSING BLANK (accountId) IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:BLANK_STRING",
            "description": "Required query parameter 'accountId' must be passed"
        }
    ]
}
IF WE ARE PASSING ANY ONE OF THE DATES (startDate OR endDate) IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:INVALID_BOOLEAN",
            "description": "A startDate must be supplied as an endDate has been supplied."
        }
    ]
}

{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:INVALID_BOOLEAN",
            "description": "An endDate must be supplied as a startDate has been supplied."
        }
    ]
}
IF WE ARE PASSING INVALID startDate OR endDate FORMAT IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "APIKIT:BAD_REQUEST",
            "description": "Invalid value '20-04-01' for query parameter startDate. [20-04-01] is not a valid date. Expected [yyyy-MM-dd]"
        }
    ]
}

{
    "errors": [
        {
            "code": 400,
            "message": "APIKIT:BAD_REQUEST",
            "description": "Invalid value '20-04-01' for query parameter endDate. [20-04-01] is not a valid date. Expected [yyyy-MM-dd]"
        }
    ]
}
IF WE ARE PASSING startDate GREATER THAN endDate IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:INVALID_BOOLEAN",
            "description": "The startDate must be less than the endDate"
        }
    ]
}
IF BILLS ARE NOT FOUND IN REQUESTED TIME PERIOD
{
    "errors": [
        {
            "code": 404,
            "message": "Liberate : No Bills found for the requested time period, account no: 148019330000",
            "description": "NOBILLSFOUND-Bills not found"
        }
    ]
}
Possible Error Scenarios for JM or PR:
IF WE ARE PASSING INVALID (accountId) NUMBER IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "ARIA:INVOICE_HISTORY",
            "description": "1009 | account does not exist"
        }
    ]
}


{
    "errors": [
        {
            "code": 404,
            "message": "** CIP09W - UNABLE TO XREF SUB PREFIX For ACCOUNTNO : 8211990010042298",
            "description": "2099   ** CIP09W - UNABLE TO XREF SUB PREFIX"
        }
    ]
}



{
    "errors": [
        {
            "code": 404,
            "message": "Liberate : Customer bill history not found for account no: 860019440001",
            "description": "NOACCTSFOUND-No Accounts Found."
        }
    ]
}
IF WE ARE PASSING BLANK (startDate) IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:BLANK_STRING",
            "description": "Start Date cannot be blank"
        }
    ]
}
IF WE ARE PASSING BLANK (endDate) IN QUERYPARAMS
{
    "errors": [
        {
            "code": 400,
            "message": "VALIDATION:BLANK_STRING",
            "description": "End Date cannot be blank"
        }
    ]
}
INVALID URL
{
    "errors": [
        {
            "code": 405,
            "message": "APIKIT:METHOD_NOT_ALLOWED",
            "description": "HTTP Method get not allowed for : /{businessId}"
        }
    ]
}
INVALID LOB
{
    "errors": [
        {
            "code": 400,
            "message": "ERROR:LOB_VALIDATION",
            "description": "Lob must be of type POSTPAID"
        }
    ]
}

Reviews